import type { LoginResult } from '@/types/member'
import { defineStore } from 'pinia'
import { ref } from 'vue'

// 定义 Store
export const useMemberStore = defineStore('member', () => {
    // 会员信息
    const profile = ref<LoginResult>()

    // 保存会员信息, 登录时使用
    const setProfile = (val: LoginResult) => {
      profile.value = val
    }

    // 清理会员信息, 退出时使用
    const clearProfile = () => {
      profile.value = undefined
    }

    // 记得 return
    return {
      profile,
      setProfile,
      clearProfile,
    }
  },
// 配置持久化
  {
  // 1. 网页端配置
  // persist: true,
  // 2. 小程序端配置(调整为兼容多端的API)
    persist: {
        storage: {
            getItem(key) {
                return uni.getStorageInfoSync(key)
            },
            setItem(key, value) {
                return uni.setStorageSync(key, value)
            },
        }
    }
  },
)
